package daemonset

import (
	"gitee/yinlai/kms-backend/controllers"
	"gitee/yinlai/kms-backend/utils/logs"
	"github.com/dotbalo/kubeutils/kubeutils"
	"github.com/gin-gonic/gin"
	appsv1 "k8s.io/api/apps/v1"
)

func Create(r *gin.Context) {
	logs.Debug(nil, "添加DaemonSet")
	// 需要看一下是否需要自动创建headless service

	var daemonSet appsv1.DaemonSet
	var info controllers.Info
	info.Item = &daemonSet
	kubeconfig := controllers.NewInfo(r, &info, "创建成功")
	// 使用kubeUtils 接口实现资源创建
	var kubeUtilser kubeutils.KubeUtilser
	instance := kubeutils.NewDaemonSet(kubeconfig, &daemonSet)
	kubeUtilser = instance
	info.Create(r, kubeUtilser)
}

//func Create(r *gin.Context) {
//	logs.Debug(nil, "添加Pod")
//	var pod corev1.Pod
//	var info controllers.Info
//	info.Item = &pod
//	// 更新此处代码使用新的方法 newInfo()
//	//clientset, basicInfo, err := controllers.BasicInit(r, &pod)
//	kubeconfig := controllers.NewInfo(r, &info, "创建成功")
//	// 下面的代码在接口中实现
//	//returnData := config.ReturnData{}
//	//if err != nil {
//	//	returnData.Message = err.Error()
//	//	returnData.Status = 400
//	//	r.JSON(http.StatusOK, returnData)
//	//	return
//	//}
//
//	// 使用kubeUtils 接口实现资源创建
//	var kubeUtilser kubeutils.KubeUtilser
//	instance := kubeutils.NewPod(kubeconfig, &pod)
//	kubeUtilser = instance
//	// 这个使用公共方法通统一执行创建方法
//	//kubeUtilser.Create("default")
//	info.Create(r, kubeUtilser)
//
//	//_, err = clientset.CoreV1().Pods(basicInfo.Namespace).Create(context.TODO(), &pod, metav1.CreateOptions{})
//	//if err != nil {
//	//	logs.Error(map[string]interface{}{"id": basicInfo.ClusterId, "msg": err.Error()}, "创建Pod失败")
//	//	msg := "创建Pod失败：" + err.Error()
//	//	returnData.Status = 400
//	//	returnData.Message = msg
//	//} else {
//	//	returnData.Message = "创建成功"
//	//	returnData.Status = 200
//	//}
//	//r.JSON(http.StatusOK, returnData)
//}
